1. Field
The described embodiments relate to electronic devices. More specifically, the described embodiments relate to the handling of push messages in electronic devices.
2. Related Art
Many modern electronic devices include a networking subsystem that is used for communicating with other electronic devices. For example, these electronic devices can include networking subsystem with a cellular network interface (EDGE, UMTS, HSDPA, LTE, etc.), a wireless network interface (e.g., a wireless network such as described in the Institute of Electrical and Electronics Engineers (IEEE) standards 802.11), and/or another type of wired or wireless interface. Some of these electronic devices support communication through a networking subsystem using a push message service. Push message services typically include a push server (or push servers) that can use a network connection (e.g., an internet protocol (IP) network connection) that is maintained between an electronic device and the push server to send push messages from the push server to the electronic device or to receive push messages (sometimes called “reverse” push messages) sent from the electronic device to the server. Push messages can include graphics, sounds, and/or text, and can be used to deliver various messages to electronic devices, e.g., news, stock quotes, weather forecasts, text messages, and/or notification of events such as email arrival.
For some applications, push message services are used to deliver push messages that include information that is timely, e.g., text messages, notifications, etc. However, push messages can sometimes be delayed as they are forwarded through the network. One source of delay for push messages is network hardware that buffers packets/data/messages sent from or destined to an electronic device until a given number of bytes have been received (or until a timeout has occurred) before forwarding the packets/data/messages. Because push messages may only include a small number of bytes, and because the electronic device may not be sending/receiving much additional traffic through the network connection as push messages are being sent/received, the number of bytes sent/received using the network connection may not be large enough to cause the network hardware to forward buffered packets, leading to delays in the delivery of push messages. Using the reverse push message as an example, the delay can occur both as the device sends a push message to the server or as the server communicates an acknowledge message after successfully receiving a push message from an electronic device. Because the delivery of the information in the push message is not timely, these delays in the delivery of push messages can be a source of user dissatisfaction.